﻿using VIA.Integration.Domain;
using VIA.Project.Domain.Devices;
using VIA.SiMoJi.Domain.Option;
using VIA.Integration.LeadShine;

namespace VIA.Presentation.Contracts
{
    internal interface IHomeView : IControl
    {
    }
    internal interface IHomePanelView : IControl
    {
    }
    public interface IDetectionResultView : IControl
    {

    }
    public interface IParamView : IControl { }

    public interface IProductionRecordView : IControl
    {

    }
    public interface ISettingsView : IControl
    {

    }

    public interface IStationResultView : IControl { }
    public interface IManualDebugginView : IControl { }


    //[Editor(typeof(VisionStationOption))]
    //public interface IStationOptionView : IWindow, IObjectEditor { }

    [Editor(typeof(VirtualProfileCamera))]
    public interface IVirtualCameraEditorView : IWindow, IObjectEditor { IVirtualCamera Camera { get; } }

    //[Editor(typeof(DmcAxis))]
    public interface IAxisDebugView : IWindow, IObjectEditor { DmcAxis Axis { get; set; } }

    [Editor(typeof(BanYunStationOption))]
    public interface IBanYunStationOptionView : IObjectEditor, IWindow { }
    [Editor(typeof(BuJinPiDaiStationOption))]
    public interface IBuJinPiDaiStationOptionView : IObjectEditor, IWindow { }
    [Editor(typeof(FeiDaStationOption))]
    public interface IFeiDaStationOptionView : IObjectEditor, IWindow { }
    [Editor(typeof(GongLiaoStationOption))]
    public interface IGongLiaoStationOptionView : IObjectEditor, IWindow { }
    [Editor(typeof(NGXiaLiaoStationOption))]
    public interface INGXiaLiaoStationOptionView : IObjectEditor, IWindow { }
    [Editor(typeof(SiMoStationOption))]
    public interface ISiMoStationOptionView : IObjectEditor, IWindow { }
    [Editor(typeof(VisionStationOption))]
    public interface IVisionStationOptionView : IObjectEditor, IWindow { }
}
